#ifndef AREA_UTILS_INCLUDED
#define AREA_UTILS_INCLUDED

#include "ExclusionST2.h"
#include "PrnDevMode.h"
#include "vector"

class CExclusionST;

namespace nsAreaUtils {

	typedef enum {AREA_FRONT = 1, AREA_BACK = 2} SIDE_TYPE;

void setAreasToArrayFromDevmod(
	OUT nsExclusionStatic2::SEXCLUSIONAREAS ArrayDst[], 
	IN const SPEC_AREA *pAreaSrc, 
	IN const size_t nAreasMax );

void getAreasFromArray( OUT std::vector<SPEC_AREA> &vAreaDst, 
	IN const nsExclusionStatic2::ESIDE Side, 
	IN const nsExclusionStatic2::SEXCLUSIONAREAS &ArraySrc );

void setAreasToDevmod( OUT SPEC_AREA *pAreaDst, 
	IN const vector<SPEC_AREA> &vAreaSrc, 
	IN const int nAreasMax );

void rotateAreasIfNecessary( OUT PRINTERDEVMODE &DevMode );
void rotateAllAreas( IN short NewOrientation, OUT PRINTERDEVMODE &DevMode );

/*

template <class T>
	void EditArea( T *pPic, int iPanel, int iSide );
*/


}; // namespace

#endif // AREA_UTILS_INCLUDED
